Apparatus, system and method of process monitoring and control in an additive manufacturing environment

ABSTRACT

Apparatuses, systems and methods capable of controlling an additive manufacturing print process on an additive manufacturing printer. The disclosed embodiments may include: a plurality of sensors capable of monitoring at least one of an input of print filament to a print head of the printer, and a temperature of a nozzle of the printer, as indicative of a state of the additive manufacturing print process; at least one processor associated with at least one controller and capable of receiving sensor data regarding the monitoring from the plurality of sensors, and comprising non-transitory computing code for applying to the sensor data at least one correct one of the state of the additive manufacturing print process; a comparator embedded in the non-transitory computing code for assessing a lack of compliance of the print process to the correct one of the state; and at least one modifying output of the at least one controller to revise the compliance of the print process to the correct one of the state.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a Continuation Application of U.S. patentapplication Ser. No. 15/723,874, filed Oct. 3, 2017, entitled:“Apparatus, System and Method of Process Monitoring and Control in anAdditive Manufacturing Environment”, the entirety of which isincorporated herein by reference as if set forth in its respectiveentirety.

BACKGROUND Field of the Disclosure

The present disclosure relates to additive manufacturing, and, morespecifically, to an apparatus, system and method of process monitoringand control in an additive manufacturing environment.

Description of the Background

Additive manufacturing, including three dimensional printing, hasconstituted a very significant advance in the development of not onlyprinting technologies, but also of product research and developmentcapabilities, prototyping capabilities, and experimental capabilities,by way of example. Of available additive manufacturing (collectively “3Dprinting”) technologies, fused deposition of material (“FDM”) printingis one of the most significant types of 3D printing that has beendeveloped.

FDM is an additive manufacturing technology that allows for the creationof 3D elements on a layer-by-layer basis, starting with the base, orbottom, layer of a printed element and printing to the top, or last,layer via the use of, for example, heating and extruding thermoplasticfilaments into the successive layers. Simplistically stated, an FDMsystem includes a print head from which the print material filament isfed to a heated nozzle, an X-Y planar control form moving the print headin the X-Y plane, and a print platform upon which the base is printedand which moves in the Z-axis as successive layers are printed.

More particularly, the FDM printer nozzle heats the thermoplastic printfilament received from the print head to a semi-liquid state, anddeposits the semi-liquid thermoplastic in variably sized beads along theX-Y planar extrusion path plan provided for the building of eachsuccessive layer of the element. The printed bead/trace size may varybased on the part, or aspect of the part, then-being printed. Further,if structural support for an aspect of a part is needed, the traceprinted by the FDM printer may include removable material to act as asort of scaffolding to support the aspect of the part for which supportis needed. Accordingly, FDM may be used to build simple or complexgeometries for experimental or functional parts, such as for use inprototyping, low volume production, manufacturing aids, and the like.

However, the use of FDM in broader applications, such as medium to highvolume production, is severely limited due to a number of factorsaffecting FDM, and in particular affecting the printing speed, quality,and efficiency for the FDM process. As referenced, in FDM printing it istypical that a heated thermoplastic is squeezed outwardly from a heatingnozzle onto either a print plate/platform or a previous layer of thepart being produced. The nozzle is moved about by the robotic X-Y planaradjustment of the print head in accordance with a pre-entered geometry,such as may be entered into a processor to control the robotic movementsto form the part desired.

In typical FDM print processes, the printing is “open loop”, at least inthat feedback is not provided so that printing may be correctivelymodified when flaws occur, or so that printing may be stopped when afatal flaw occurs. For example, it is typical in known FDM printing thatthe print material may be under- or overheated, and thereby eventuallycause clogging or globbing, or that the print material feed to andthrough the print head may go askew, causing the printer to jam orotherwise mis-feed. However, in the known art, upon such fatal printflaws, the printer will generally continue to print until, for example,a ball of print material is formed about the print nozzle, or a cloggednozzle overheats or suffers a fatal breakdown, or the print materialunspools in an undesirable manner.

Many other significant or fatal print flaws may occur in the currentart, such as wherein the print head or the nozzle heater fails toproperly shut off. Because of the frequency of occurrence of theafore-discussed printing breakdowns, there are typically a great manysettings needed to engage in an additive manufacturing print. Forexample, because bleeding and globbing are frequent, whereby nipples orbumps may be undesirably created on a print build, a myriad of settingsare generally provided in order to provide for desired printer turn on,turn off, heat levels, and the like. Further, other settings unrelatedto the nozzle or print head may be needed, such as refined temperaturecontrol for the build plate so that the build plate temperature does notbecome excessive and consequently deform the print build.

However, in the known art, the print performance resultant from suchsettings remains unmonitored. Accordingly, in the event a setting doesnot suitably anticipate a particular breakdown, a mis-setting occurs, oran unforeseen breakdown results even from a proper initial setting, thecurrent art does not provide solutions that enable successful print runsin such cases.

Therefore, the need exists for an apparatus, system, and method forprocess monitoring and control in at least an FDM additive manufacturingenvironment.

SUMMARY

The disclosed exemplary apparatuses, systems and methods are capable ofcontrolling an additive manufacturing print process on an additivemanufacturing printer. The disclosed embodiments may include: aplurality of sensors capable of monitoring at least one of an input ofprint filament to a print head of the printer, and a temperature of anozzle of the printer, as indicative of a state of the additivemanufacturing print process; at least one processor associated with atleast one controller and capable of receiving sensor data regarding themonitoring from the plurality of sensors, and comprising non-transitorycomputing code for applying to the sensor data at least one correct oneof the state of the additive manufacturing print process; a comparatorembedded in the non-transitory computing code for assessing a lack ofcompliance of the print process to the correct one of the state; and atleast one modifying output of the at least one controller to revise thecompliance of the print process to the correct one of the state.

Thus, the disclosed embodiments provide an apparatus, system, and methodfor process monitoring and control in an additive manufacturingenvironment.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed non-limiting embodiments are discussed in relation to thedrawings appended hereto and forming part hereof, wherein like numeralsindicate like elements, and in which:

FIG. 1 is an illustration of an additive manufacturing printer;

FIG. 2 is an illustration of an exemplary additive manufacturing system;

FIG. 3 illustrates an exemplary sensor and feedback-based additivemanufacturing system;

FIG. 4 illustrates an exemplary graph of achieving a set temperature inan additive manufacturing system;

FIG. 5 illustrates an exemplary graph of power consumption in anadditive manufacturing system;

FIG. 6 illustrates an exemplary graph of temperature at the hot endversus filament velocity in an additive manufacturing system;

FIG. 7 illustrates an exemplary additive manufacturing system;

FIG. 8 illustrates an exemplary motor system for additive manufacturing;

FIG. 9 illustrates an exemplary sensing and control embodiment foradditive manufacturing;

FIG. 10 illustrates an exemplary additive manufacturing print head andnozzle;

FIG. 11 is an illustration of an exemplary multi-axis additivemanufacturing system;

FIG. 12 illustrates an exemplary embodiment of a multi-axis additivemanufacturing embodiment; and

FIG. 13 illustrates an exemplary computing system.

DETAILED DESCRIPTION

The figures and descriptions provided herein may have been simplified toillustrate aspects that are relevant for a clear understanding of theherein described apparatuses, systems, and methods, while eliminating,for the purpose of clarity, other aspects that may be found in typicalsimilar devices, systems, and methods. Those of ordinary skill may thusrecognize that other elements and/or operations may be desirable and/ornecessary to implement the devices, systems, and methods describedherein. But because such elements and operations are known in the art,and because they do not facilitate a better understanding of the presentdisclosure, for the sake of brevity a discussion of such elements andoperations may not be provided herein. However, the present disclosureis deemed to nevertheless include all such elements, variations, andmodifications to the described aspects that would be known to those ofordinary skill in the art.

Embodiments are provided throughout so that this disclosure issufficiently thorough and fully conveys the scope of the disclosedembodiments to those who are skilled in the art. Numerous specificdetails are set forth, such as examples of specific components, devices,and methods, to provide a thorough understanding of embodiments of thepresent disclosure. Nevertheless, it will be apparent to those skilledin the art that certain specific disclosed details need not be employed,and that embodiments may be embodied in different forms. As such, theembodiments should not be construed to limit the scope of thedisclosure. As referenced above, in some embodiments, well-knownprocesses, well-known device structures, and well-known technologies maynot be described in detail.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting. For example, asused herein, the singular forms “a”, “an” and “the” may be intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. The terms “comprises,” “comprising,” “including,” and“having,” are inclusive and therefore specify the presence of statedfeatures, integers, steps, operations, elements, and/or components, butdo not preclude the presence or addition of one or more other features,integers, steps, operations, elements, components, and/or groupsthereof. The steps, processes, and operations described herein are notto be construed as necessarily requiring their respective performance inthe particular order discussed or illustrated, unless specificallyidentified as a preferred or required order of performance. It is alsoto be understood that additional or alternative steps may be employed,in place of or in conjunction with the disclosed aspects.

When an element or layer is referred to as being “on”, “engaged to”,“connected to” or “coupled to” another element or layer, it may bedirectly on, engaged, connected or coupled to the other element orlayer, or intervening elements or layers may be present, unless clearlyindicated otherwise. In contrast, when an element is referred to asbeing “directly on,” “directly engaged to”, “directly connected to” or“directly coupled to” another element or layer, there may be nointervening elements or layers present. Other words used to describe therelationship between elements should be interpreted in a like fashion(e.g., “between” versus “directly between,” “adjacent” versus “directlyadjacent,” etc.). Further, as used herein the term “and/or” includes anyand all combinations of one or more of the associated listed items.

Yet further, although the terms first, second, third, etc. may be usedherein to describe various elements, components, regions, layers and/orsections, these elements, components, regions, layers and/or sectionsshould not be limited by these terms. These terms may be only used todistinguish one element, component, region, layer or section fromanother element, component, region, layer or section. Terms such as“first,” “second,” and other numerical terms when used herein do notimply a sequence or order unless clearly indicated by the context. Thus,a first element, component, region, layer or section discussed belowcould be termed a second element, component, region, layer or sectionwithout departing from the teachings of the embodiments.

In order to address the print flaws discussed above without the need fora large number of selectable print settings, the embodiments provide atleast print process monitoring and control, such as may include avariety of sensing. For example, sensing in the embodiments may includeoptical sensing, motor encoding, camera based sensing, time of flightsensing, and the like. One or more of the foregoing manner of sensingmay monitor aspects of the print build process, such as the feed rateand profile at the print head input, at the print head output, the heatlevel or melt level at the nozzle and/or at aspects of the hot end, andthe like. Further, combinations of multiple ones of the foregoing sensorsystems may provide extraordinary levels of process monitoringheretofore unknown in the available art.

Thereby, while sensors monitor the print process, feedback gained fromthe sensor data may enable modification of the print process, such as toallow for corrective action. Such corrective action may includemodifying a print process plan to account for and correct a minor flaw,or the cessation of a print in the event of a fatal flaw. As will beunderstood to the skilled artisan, the use of the sensor data, thefeedback assessed thereby and resultant therefrom, and the print actionresultant therefrom may be the result of the algorithms applied by acontrol system connectively associated with the printer and the sensors.

Thus, in the myriad embodiments provided herein, particularly to theextent such embodiments include one or more sensors sensing the printingprocess, the print process may be subjected to process control such thatheretofore unknown process enhancements maybe enabled. For example,various process aspects, such as including power delivered to heat theprint melt, heat delivered to the print melt, servo rotation of one ormore of the print hobs of the print head, and the like may be readilycontrolled by association of these aforementioned devices and systemswith one or more computer processors having resident thereon controlsoftware.

FIG. 1 is a block diagram illustrating an exemplary FDM printer 106. Inthe illustration, the printer includes an X-Y axis driver 20 suitable tomove the print head 22, and thus the print nozzle 26, in a twodimensional plane, i.e., along the X and Y axes. Further included in theprinter 106 for additive manufacturing are the aforementioned print head22 and print nozzle 26. As is evident from FIG. 1, printing may occurupon the flow of heated print material outwardly from the nozzle 26along a Z axis with respect to the X-Y planar movement of the X-Y driver20 and onto the build plate 24. Thereby, layers of printed material 30may be provided from the nozzle 26 along a path dictated by the X-Ydriver 20 to form a print build 101.

FIG. 2 illustrates with greater particularity a print head 104 andnozzle 106 system for an exemplary additive manufacturing device, suchas a 3-D printer, such as a FDM printer. As illustrated, the printmaterial 110 is extruded via hobs 103 of the head 104 from a spool ofprint material 110 a into and through the heated nozzle 106. As thenozzle 106 heats the print material 110, the print material is at leastpartially liquefied for output from an end port 106 a of the nozzle at apoint along the nozzle distal from the print head 104. Thereby, theextruded material is “printed” outwardly from the port 106 a via the Zaxis along a X-Y planar path determined by the X-Y driver (see FIG. 1)connectively associated with the print head 104.

As illustrated in FIG. 3, two principle elements of the additivemanufacturing system, namely the heat delivered at the hot end 106 andthe velocity, V_(f), at which the print filament 110 is delivered to thehot end 106 by print head 104 may be subjected to a one or more sensors302, such as a load assessment sensor 302, and to control by one or morecontrollers 310. More particularly, the hot end 106, as illustrated, mayinclude one or more heating elements 303 that provide a sensed load 302on the power delivery system 306 that causes the heating of the heatingelement 303. This power delivery system 306 may, in turn, be connectedto one or more processor-driven controllers 310, such as a proportionalintegral derivative (PID) controller, which drive deliver of power tothe heating element(s) 302. Alternatively, the skilled artisan willappreciate that various types of direct temperature sensors 302 may alsobe employed in the hot end, and may provide sensed data to control 310.

The filament 110 entering the hot end 106 to form the print melt mayalso have associated therewith a print head driver 314 that isassociated with the print head 104 and which drives the filament 110from the spool 110 a and ultimately into the hot end 106. This printhead drive 314, such as may include one or more servo-driven print hobs103, may sense 302 a provided load on the one or more motors 320, suchas servo or stepper motors, that drive either or both of the hobs 103.In turn, this motor 320 may be subjected to a motor driver 326, whichmotor drive 326 may also be communicatively associated with one or moremotor drive sensors 302 and controller(s) 310, such as theaforementioned PID controller(s).

Those skilled in the art will appreciate that although any of varioustypes of controllers 310 may be employed, certain of the embodiments mayinclude a PID controller. A PID controller may be employed to calculatean error value that represents the difference between a desired setpoint and a measured process variable. Further, a PID controller mayapply a correction value that is calculated as a function of theaforementioned difference. Thus, for example, a difference in temperateat the hot end 106 from a desired set point may represent a necessaryadjustment by the PID controller of the thermocouple connectivelyassociated with the heating element 303 of the hot end 106.

Of course, it will be understood that the embodiments are not limited toPID controllers, and thus that other types of controllers 310 andcontrol systems may be employed in certain embodiments. By way ofnon-limiting example, individual controllers 310 may be communicativewith, either locally or remotely via at least one network, eitherdirectly or indirectly, or either integral with or distinct from, one ormore processing systems 1100. In such embodiments, the one or moreprocessing systems 1100 may receive input from the one or more sensors302 and may apply one or more control algorithms thereto in order toassess, for example, abnormal operation, inefficient operation,catastrophic operation, and may accordingly provide controls to makecurative process adjustments.

In accordance with the foregoing, the controller 310 and/or the controlsystem 310/1100 provided in the embodiments may provide not only laggingadjustments as may occur in the known art, but alsoalgorithmically-generated leading, or anticipatory, adjustments. Forexample, leading adjustments to power levels may be based on prior printruns, calibration runs for a printer, or the like. This is illustratedwith greater particularity in the graph of FIG. 4. As shown, a settemperature for the hot end may not be directly reflective of the powerdelivered to the hot end, as is known in the art. As such, efforts toreach a desired set temperature for the hot end may require continuoussignificant lagging adjustments in the known art based on, for example,temperature sensor readings. However, a more uniform temperature ramp toa desired set point, such as may be followed by a decreased necessityfor power delivery to maintain the desired temperature set point, may beprovided by the leading adjustments enabled by the control algorithmsassociated with controller 310 in the embodiments discussed throughout.

The foregoing is likewise illustrated in the graph of FIG. 5, wherein itis shown that a leading adjustment better maintains a balance with thereality of temperature increases and decreases at the hot end, whereasthe lagging adjustments provided in the known art suffer greater swingsof necessary power delivery, and are hence more inefficient and lessrefined than the provided embodiments. As referenced, such leadingadjustments may be assessed in one or more initial runs, such as may beused to formulate one or more control algorithms embedded in controller310 unique to one or more print materials.

Moreover, the foregoing algorithmic adjustments may be suitable toaddress multivariable variations. For example, not only does the heat ona nozzle decrease as the power delivered to the heating elementdecreases, but further the temperature delivered to the hot end goesdown as the filament material is pushed into the hot end at highervelocity. This is illustrated graphically in FIG. 6. Thereby, in such acircumstance, the controller discussed herein may adjust the temperaturenot only based on the heat loss rate of the hot end as power isdecreased to the heating element, but may additionally adjust based onthe rate of filament material being pushed into the hot end.

Environmental variations may constitute ones of the variables in theherein-discussed multivariable monitoring and control system. Forexample, power delivery algorithms may account for current or recordedenvironmental temperature, number of hours of print nozzle use,particular filament materials or spool providers, the physical makeup ofthe head end and/or the hot end, and the like. Thus, contrary to theknown art, certain of the embodiments may provide close loop control foradditive manufacturing systems, which may enable the aforementionedleading control adjustments. For example, sensors may be provided toassess the thickness or height of a trace as it is laid, as well as thetemperature of the hot end as the trace is laid, and variouscharacteristics of the print filament entering the head, entering thehobs, exiting the hobs, and/or entering the hot end, such as filamentmaterial, filament velocity, filament diameter, filament jitter, and thelike. The control system 310/1100 may include an algorithm that takesinto account all of these factors, and recognizes that the ambienttemperature has risen 3 degrees C., which has caused a slight variationin V_(f). Upon recognition of these process variables, the controlalgorithm may recognize that the hot end temperature should be loweredby 10 degrees C. to maintain desired trace characteristics, and thisrecognition may occur before the trace length undesirably varies.

As more particularly illustrated in the block diagram of FIG. 7, in anembodiment, the foregoing aspects may be assessed, by way ofnon-limiting example, using two variables. These variables may be theforce on the filament 110 towards the hot end 106, i.e., the extrusionforce, F_(e), and the reactive force on the filament 110 against theprint head 104, F_(r). As will be understood to the skilled artisan, thedisclosed control system 310/1100 may include an algorithm whereby thelaying of no trace is deemed indicative that F_(r) is equal to orgreater than F_(e). Likewise, if the trace thickness is thinner thandesired, F_(r) is deemed too great in comparison to F_(e), which maydeemed to be caused by too little extrusion force, a lower hot endtemperature than is desired, or the like. Further, an undesirably thicktrace may indicate excessive F_(e), unnecessarily high temperature, orthe like. Not only may the disclosed sensors 302 allow for the foregoingassessments, but the control system 310/1100 discussed herein may allowfor control adjustments of various printer aspects to account for theseissues. For example, the controller 310 may indicate an increase ordecrease in the print head hob speed, or may increase or decrease thedelivery of power to the heating element 303 of the hot end 106.

Of course, sensing of the aforementioned variables may also allow fordifferent assessments and control adjustments to be made, as will beunderstood to those skilled in the art. For example, sufficient F_(r)that leads to the lack of a trace may be deemed by control system310/1100 to be an indication of a clog. Further, sensors not explicitlydiscussed above, such as a hob-driving motor 602 having motor encoder604 to indicate motor position as shown in FIG. 8, and thus velocityand/or motor torque, may also be used to assess relative forces whichmay indicate to a motor controller 310 that control adjustments arenecessary.

FIG. 9 illustrates an exemplary sensing and control embodiment. Theembodiment may include hot end 106, with nozzle port 106 a, and thenozzle 106 may have associated therewith a heating element 303 under thecontrol of power delivery system 306. The heating element 303 may be orinclude a resistive wire wrapping around nozzle 106. The heating element303 may respond to power delivery system 306 under the control ofcontroller 310 (which may include or be communicative with computingsystem 1100).

Controller 310 may modify control based on, by way of non-limitingexample, sensing by nozzle-embedded sensor 302. Sensor 302 may beproximate to nozzle port 106 a, and may thus read the temperature of thenozzle proximate to the output point of the print melt. Correspondingly,process control 310 may control the temperature proximate to nozzle port106 a based on feedback of the sensing of that temperature.

Of course, although the sensor 302 shown is on-board the nozzle 106, thesensor may be embedded in or on, or otherwise physically associatedwith, the nozzle 106. The sensor 302 may receive, directly orindirectly, the heat reading. The sensor 302 may additionally oralternatively comprise embedded traces or other inter- orintra-connective elements, as will be understood to the skilled artisan.

Yet further, for a variety of reasons, such as the typical unevenness offilaments 110 (i.e., filaments 110 are often uneven, such as thinner insome areas and thicker in others), additional sensors may be associatedwith a filament and/or the print output from nozzle port 106 a. FIG. 10illustrates a filament feed 1010 entering and passing through print head104. A motor having encoding 1004 may be provided so that filament pull,grabbing, jamming, or crimping may be sensed to allow for ultimateadjustment of motor speed. The motor may drive hobs 1003, 1005. To theextent one hob 1005 is non-driven, it may be associated with one or moresensors 1006 that sense the force on filament 1010 by the non-drivenhob.

The illustrated embodiment may include sensors 1012 that may sense thespeed of rotation of hobs 1003, 1005. Additionally providing informationto controller(s) 310 may be one or more of line scanners 1002 (to sensefilament 1010 at entry point to head 104), 1018 (at entry point to thehobs 1003, 1005), 1020 (at exit point from hobs 1003, 1005), and 1802(at exit from port 106 a). These sensors may also or rather, by way ofexample, provide information on the force upon, temperature of, positionof, velocity of, or other information on filament 1010, hobs 1003, 1003,motor 1004, or print output, by way of non-limiting example.

In short and as discussed throughout, the disclosed control system310/1100 assures that machine time and materials are not wasted, atleast in that if the desired result is not obtained, leading adjustmentsor system shutdown may be performed at a point earlier than in the knownart. More particularly and as will be understood from FIG. 10, the motor1004 that drives the print head hobs 1003, 1005 experiences and providesa relative torque that extrudes the filament 1010 into and through thehot end 104. As shown, one or more line scanners 1002, 1018, 1020, 1802,or other sensors, may be placed at, by way of non-limiting example, thenozzle port 106 a, the print head entry point, or within the print head104.

Accordingly, if the extrusion hobs 1003, 1005 are turned, the correctprinting response should be obtained. If the motor torque and heat levelindicate that the hobs should be extruding material, but no or theincorrect print output is seen, it is likely the case that thecontroller should assess that the hot end is clogged, or that there isanother systematic issue that may require the raising or lowering ofheat levels. For example, if no torque on the hob driver is assessed,either the hot end heat is much too high or the nozzle has been blown.Thereby, the disclosed embodiments may allow for both leading andlagging adjustments.

Similarly, hyperspectral scanning may be performed, by way ofnon-limiting example, at the hob entry point 1018. Such scanning mayindicate to the control system the type of material loaded into theprint head, may automatically load such material, and/or may set systemparameters, such as heating levels, to enable a preset trace size.Further, hyperspectral and other types of scanning may allow foradequate feedback to allow for the leading adjustment discussed herein,such as whether the material entering the print head is as manuallyindicated, whether the color of the print materials is as desired,whether the build outcome is as desired, and the like. As such,in-process monitoring, as well as build volume monitoring, may beprovided and overseen by the disclosed control systems.

More particularly, the controller feedback loop, such as the PIDcontroller feedback loop, discussed throughout may assess elementperformance based on, for example, the voltage and or current drawn bythe load of the element. Such a load may indicate, by way ofnon-limiting example, position, torque, velocity, heat, power, or thelike. For example, a hob driver motor may indicate, based on the loadthat it provides, that it has a spend rate of 5 rpm. However, thespecific characteristics may indicate that the motor rotation at 5 rpmrequires 1 amp of current to maintain that rotation rate, whereas thecontrol algorithm indicates that, if printing is occurring as expected,0.1 amps of current should be drawn. Thereby, a system failure isindicated to the controller.

By way of additional example and as illustrated in FIG. 11, if the printhead, including the hob motor and motor controller, is taken as an “EAxis” 1202, and the hot end is taken as the “H Axis” 1204, the disclosedcontrol systems 310 may make assessments from sensing feedback 1206, andleading or lagging adjustments, based on the characteristics of eachaxis. For example, if the H Axis 1204 must be at a temperature set of200 degrees Celsius for a given E Axis 1202 rate, once a temperaturesensor indicates that the temperature is at 200 degrees Celsius, thepower supplied to the H Axis 1204 may be decreased in an effort tomaintain the precise current temperature. However, if the E Axis 1202 isunable to maintain a material feed rate based on, for example, theelectrical load indicated on the E Axis 1202, this may indicate that thetemperature of the H Axis 1204 has fallen, that a clog in the nozzle hasoccurred, or that the filament material has unexpectedly changed.

Moreover, the disclosed control systems may include an algorithmicseries of efforts to check for and remedy when a sensed problem occurswithin the system. For example, a control system may engage in achecklist of the foregoing example. For example, if the H Axis 1204indicates that it is at the proper temperature, an error in theforegoing example may be assessed as either a clog or a change inmaterial. Consequently, the control system may increase the heat on theH Axis 1204, and may back up the filament on the E Axis, in an attemptto clear the clog. If neither of the foregoing efforts are successful toclear the error, the control system may automatically indicate that anunexpected material change has occurred.

As referenced throughout, the embodiments allow for leading adjustments.For example, if the H Axis 1204 indicates it is currently at the properset temperature, but the build plan indicates to the E Axis 1202 thatthe extrusion rate is to increase, the H Axis 1204 may preemptively beinstructed to increase the temperature in anticipation of the increasein extrusion rate. Of course, such leading adjustment may includevarious other factors, such as may include an assessment of the materialbeing printed, or the best factors to be applied to the current printmaterial in order to best obtain the desired build, by way ofnon-limiting example. Further for example, the control algorithm maymake an assessment of the best temperatures and velocities for aparticular build, and may adjust these variables in real time as theprint occurs, such as in the event an unknown print material is placedinto the printer.

Correspondingly, the feedback loop 1206 from the sensors 302 to thecontrol system 310 and back to the controlled print elements in thedisclosed embodiments may allow for adjustments to any of multipleprocess variables in real time. Moreover, this control feedback loop1206 may enable adjustments to multiple variables, such as the balancingor weighting thereof, to obtain desired results in accordance with buildplan in real time.

It should also be noted that the sensors 302 discussed throughout arenon-limiting. For example, force feedback may be obtained based on motorperformance, as discussed herein, may be assessed at the nozzle of thehot end, at the nozzle mount of the hot end, or the like. Further, oneor more cameras, in place of or in addition to the line scanner(s)discussed herein, may be placed to allow for process monitoring. Forexample, cameras may be placed in association with the head end, the hotend, a spool feed, the print build, or the like. Such a head camera mayinclude, by way of non-limiting example, a VIS camera, a thermal camera,a time of flight camera, or the like.

Further, the disclosed feedback systems may be hardware and/or softwareagnostic. That is, the controller(s) may be a deployable kernel; may behosted in association with any system software; and/or may be for usewith a generic hardware set. Of course, the skilled artisan willappreciate in light of the discussion herein that, in such hardware andsoftware agnostic use cases, an operator may be needed to set initialparameters when a controlled system kernel is deployed.

FIG. 12 illustrates an exemplary control system 1302 such as may beexplicitly associated with the hardware disclosed herein. For example,the hardware characteristics 1300 may provide the various sensedfeedback indicated, such as, by way of example, the motor and encodercharacteristics of the E Axis 1304, 1306, the temperature and powercharacteristics of the H Axis 1306, 1308, the build characteristics ofthe print output 1310, and any secondary sensors 1312 associated withthe hardware, such as a camera 1312 associated with the print head.

The control system may then associate variables with each of theforegoing sensed hardware elements, such as: the extruder force versusunit time and/or the extrusion amount or rate versus unit time inassociation with the E Axis 1318, 1320; the nozzle temperature versuspower, extrusion rate, and/or unit time 1322; the power consumptionversus temperature and unit time of the H Axis 1324; the build levelingand extrusion amount and forces versus unit time 1326; and the tracewidth and quality 1330, by way of non-limiting example.

FIG. 13 depicts an exemplary computing system 1100 for use inassociation with the herein described control systems and methods.Computing system 1100 is capable of executing software, such as anoperating system (OS) and/or one or more computing applications 1190,such as applications applying the control algorithms discussed herein,and may execute such applications using data, such as sensor data,gained via the I/O port.

By way of non-limiting example, an exemplary algorithm applied by acontrol application embedded in or otherwise associated with controller310 and receiving data from sensors 320 may be as follows:

-   -   IF Torque motor (TQm) as a function [of, e.g., Nozzle        temperature, TN, material type, etc.] exceeds preset X for more        than time tX, throw a flag;    -   OR    -   IF RATIO of Force on nozzle (FN) to TQm as a function exceeds X        for more than T time:        -   throw a flag; or        -   increase TN; or        -   decrease extrusion velocity, Vextr.

The operation of exemplary computing system 1100 is controlled primarilyby computer readable instructions, such as instructions stored in acomputer readable storage medium, such as hard disk drive (HDD) 1115,optical disk (not shown) such as a CD or DVD, solid state drive (notshown) such as a USB “thumb drive,” or the like. Such instructions maybe executed within central processing unit (CPU) 1110 to cause computingsystem 1100 to perform the operations discussed throughout. In manyknown computer servers, workstations, personal computers, and the like,CPU 1110 is implemented in an integrated circuit called a processor.

It is appreciated that, although exemplary computing system 1100 isshown to comprise a single CPU 1110, such description is merelyillustrative, as computing system 1100 may comprise a plurality of CPUs1110. Additionally, computing system 1100 may exploit the resources ofremote CPUs (not shown), for example, through communications network1170 or some other data communications means.

In operation, CPU 1110 fetches, decodes, and executes instructions froma computer readable storage medium, such as HDD 1115. Such instructionsmay be included in software such as an operating system (OS), executableprograms, and the like. Information, such as computer instructions andother computer readable data, is transferred between components ofcomputing system 1100 via the system's main data-transfer path. The maindata-transfer path may use a system bus architecture 1105, althoughother computer architectures (not shown) can be used, such asarchitectures using serializers and deserializers and crossbar switchesto communicate data between devices over serial communication paths.System bus 1105 may include data lines for sending data, address linesfor sending addresses, and control lines for sending interrupts and foroperating the system bus. Some busses provide bus arbitration thatregulates access to the bus by extension cards, controllers, and CPU1110.

Memory devices coupled to system bus 1105 may include random accessmemory (RAM) 1125 and/or read only memory (ROM) 1130. Such memoriesinclude circuitry that allows information to be stored and retrieved.ROMs 1130 generally contain stored data that cannot be modified. Datastored in RAM 1125 can be read or changed by CPU 1110 or other hardwaredevices. Access to RAM 1125 and/or ROM 1130 may be controlled by memorycontroller 1120. Memory controller 1120 may provide an addresstranslation function that translates virtual addresses into physicaladdresses as instructions are executed. Memory controller 1120 may alsoprovide a memory protection function that isolates processes within thesystem and isolates system processes from user processes. Thus, aprogram running in user mode may normally access only memory mapped byits own process virtual address space; in such instances, the programcannot access memory within another process' virtual address spaceunless memory sharing between the processes has been set up.

In addition, computing system 1100 may contain peripheral communicationsbus 135, which is responsible for communicating instructions from CPU1110 to, and/or receiving data from, peripherals, such as peripherals1140, 1145, and 1150, which may include printers, keyboards, and/or thesensors discussed herein throughout. An example of a peripheral bus isthe Peripheral Component Interconnect (PCI) bus.

Display 1160, which is controlled by display controller 1155, may beused to display visual output and/or presentation generated by or at therequest of computing system 1100, responsive to operation of theaforementioned computing program. Such visual output may include text,graphics, animated graphics, and/or video, for example. Display 1160 maybe implemented with a CRT-based video display, an LCD or LED-baseddisplay, a gas plasma-based flat-panel display, a touch-panel display,or the like. Display controller 1155 includes electronic componentsrequired to generate a video signal that is sent to display 1160.

Further, computing system 1100 may contain network adapter 1165 whichmay be used to couple computing system 1100 to external communicationnetwork 1170, which may include or provide access to the Internet, anintranet, an extranet, or the like. Communications network 1170 mayprovide user access for computing system 1100 with means ofcommunicating and transferring software and information electronically.Additionally, communications network 1170 may provide for distributedprocessing, which involves several computers and the sharing ofworkloads or cooperative efforts in performing a task. It is appreciatedthat the network connections shown are exemplary and other means ofestablishing communications links between computing system 1100 andremote users may be used.

Network adaptor 1165 may communicate to and from network 1170 using anyavailable wired or wireless technologies. Such technologies may include,by way of non-limiting example, cellular, Wi-Fi, Bluetooth, infrared, orthe like.

It is appreciated that exemplary computing system 1100 is merelyillustrative of a computing environment in which the herein describedsystems and methods may operate, and does not limit the implementationof the herein described systems and methods in computing environmentshaving differing components and configurations. That is to say, theinventive concepts described herein may be implemented in variouscomputing environments using various components and configurations.

In the foregoing detailed description, it may be that various featuresare grouped together in individual embodiments for the purpose ofbrevity in the disclosure. This method of disclosure is not to beinterpreted as reflecting an intention that any subsequently claimedembodiments require more features than are expressly recited.

Further, the descriptions of the disclosure are provided to enable anyperson skilled in the art to make or use the disclosed embodiments.Various modifications to the disclosure will be readily apparent tothose skilled in the art, and the generic principles defined herein maybe applied to other variations without departing from the spirit orscope of the disclosure. Thus, the disclosure is not intended to belimited to the examples and designs described herein, but rather is tobe accorded the widest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method of controlling an additive manufacturingprint process on an additive manufacturing printer, comprising:monitoring, via a plurality of sensors, at least: an input of printfilament to a print head of the printer; a motor torque of a motor thataffects the input of the print filament; and a temperature of a nozzleof the printer, as indicative of a current state of the additivemanufacturing print process; receiving, at at least one controller,sensor data regarding the monitoring from the plurality of sensors;comparing the current state to a correct state of the print process bycomparing the sensor data to a database of stored correct states of theprint process; assessing a lack of compliance of the print process tothe correct state; and modifying at least one output from the at leastone controller to revise the compliance of the print filament to thecorrect state. without halting the print process.
 2. The method of claim1, wherein the correct state is the current state, and wherein themodifying comprises a zero adjustment one of the output.
 3. The methodof claim 1, wherein the correct state is a future state based on acurrent one of the output according to a projection of the current oneof the output.
 4. The method of claim 1, wherein the correct stateincludes one or more tolerances for the additive manufacturing printprocess.
 5. The method of claim 4, wherein the one or more tolerancescomprise at least one of a melt temperature, a filament velocity, and atrace size.
 6. The method of claim 1, wherein the revision to thecompliance comprises one of modifications to the additive manufacturingprint process or cessation of the additive manufacturing print process.7. The method of claim 1, wherein the revision to the compliancecomprises a modification to a characteristic of the print filament orthe temperature of the nozzle.
 8. The method of claim 7, wherein themodifying comprises modifying a velocity of the print filament.
 9. Themethod of claim 7, wherein the modifying comprises raising thetemperature of the nozzle.
 10. The method of claim 7, wherein themodifying comprises lowering the temperature of the nozzle.
 11. Themethod of claim 7, wherein the modifying occurs without halting of theadditive manufacturing print process.
 12. The method of claim 1, whereinthe plurality of sensors comprise one of: discrete sensors; linescanners; cameras; time of flight imagers; and parallel or combinationimplementations thereof.
 13. The method of claim 1, wherein thecomparing comprises calculating force on the print filament feed as afunction of the nozzle temperature.
 14. The method of claim 1, whereinthe comparing comprises a continuous in-process feedback loop.
 15. Amethod of controlling an additive manufacturing print process on anadditive manufacturing printer that extrudes a print filament through aprint nozzle, comprising: monitoring a plurality of sensors asindicative of a current state of the additive manufacturing printprocess; receiving, at at least one controller, sensor data regardingthe monitoring from the plurality of sensors; comparing the currentstate to a correct state of the print process by comparing the sensordata to a database of stored correct states of the print process;assessing a failure of the current state of print process when comparedto the correct state; and modifying at least one output from the atleast one controller to revise a characteristic of input of the printfilament or temperature of the nozzle without halting of the printprocess.
 16. The method of claim 15, wherein the correct state is thecurrent state, and wherein the modifying comprises a zero adjustment oneof the output.
 17. The method of claim 15, wherein the correct state isa future state based on a current one of the output according to aprojection of the current one of the output.
 18. The method of claim 15,wherein the correct state includes one or more tolerances for theadditive manufacturing print process.
 19. The method of claim 18,wherein the one or more tolerances comprise at least one of a melttemperature, a filament velocity, and a trace size.
 20. A method ofcontrolling an additive manufacturing print process on an additivemanufacturing printer, comprising: monitoring, via a plurality ofsensors, at least one of: an input of print filament to a print head ofthe printer; and a temperature of a nozzle of the printer, as indicativeof a current state of the additive manufacturing print process;receiving, at at least one controller, sensor data regarding themonitoring from the plurality of sensors; comparing the current state toa correct state of the print process by comparing the sensor data to adatabase of stored correct states of the print process; assessing afailure of the current state of print process when compared to thecorrect state; and modifying at least one output from the at least onecontroller to revise compliance to the correct state of the input of theprint filament or the temperature of the nozzle to correct the failurewithout halting of the print process.